В последнее время стало известно, что TradingView планирует покинуть российский рынок. Это вызвало серьезное беспокойство среди трейдеров и инвесторов, для которых этот сервис стал основным инструментом для анализа и мониторинга рынков. К сожалению, адекватных альтернатив на данный момент практически нет.
Есть, конечно, локальные решения, такие как Stockchart.ru, а также проект “Алгопак”, о котором я писал ранее, но это скорее временные меры и далеко не полноценная замена функционалу и удобству TradingView. Если завтра TradingView действительно закроет доступ для пользователей из России, можно ожидать волны недовольства, резких высказываний и даже паники — привычная ситуация в подобных условиях.
Биржа же в свою очередь делает попытки создать что-то свое, но, как показывает практика, такие инициативы редко приводят к успеху. Проблема в том, что сама биржа, несмотря на доступ к огромным финансовым ресурсам, не может стать успешным разработчиком. Сотрудники, работающие на бирже, — это эксперты в своих областях, но не бизнесмены, и у них нет понимания того, как превратить хороший сервис в прибыльный бизнес.
Московская биржа запустила новую платформу визуализации сигналов ALGOPACK VISUAL. Это бета-версия, которая уже сейчас доступна подписчикам на MOEX. Несмотря на наличие багов, она предлагает мощные инструменты, такие как Supercandles, MegaAlerts и индекс HI2, которые помогут трейдерам лучше анализировать рынок. Команда продолжает активно дорабатывать платформу, поэтому следить за обновлениями стоит каждую неделю.
Тепловая карта акций: отображает в реальном времени рост (зелёные блоки) и падение (красные блоки) цен акций, позволяя мгновенно оценить рыночные настроения.
В мире алгоритмической торговли и высокочастотных операций скорость получения данных играет критическую роль. Хотя выбор брокера зависит от множества факторов, включая тарифы, удобство использования платформы и набор инструментов, для определенной категории трейдеров и разработчиков торговых систем скорость обновления стакана котировок может быть решающим фактором.
Я провел сравнительное исследование скорости работы API двух популярных брокеров: Alor и Tinkoff. Целью было определить, какой из них обеспечивает более быстрое обновление данных стакана котировок.
Исследование проводилось с использованием открытых протоколов API обоих брокеров. Это важно отметить, так как открытые протоколы представляют собой передовые технологии в области биржевой торговли, обеспечивая максимальную скорость и эффективность передачи данных.
Для каждого API был разработан клиент, который подключался к серверам брокера, подписывался на обновления стакана и регистрировал время получения каждого обновления. Мониторинг проводился в течение 30 секунд, что позволило получить репрезентативную выборку данных.
Привет, уважаемые коллеги-товарищи-сениоры по торговле!
Я тут решил немного пошпионить… тьфу, поспрашивать у вас: какие open-source платформы для торговли вы используете? Вот список некоторых популярных решений, которые я ранее у себя разместил https://osaengine.ru , но хочу это расширять и делать каталог мясистее, на правах единственного писеталя на этом сайте, который объективно пишет про алгоритмическую торговлю )). Если у вас есть что-то еще интересное, не стесняйтесь делиться! Вот что я сам нашёл, но давайте его расширим.
А теперь несколько вопросов для вас:
-- Настройки SEC_CODE = "SBER" -- Код инструмента CLASS_CODE = "TQBR" -- Код класса инструмента SHORT_MA_PERIOD = 10 -- Период короткой скользящей средней LONG_MA_PERIOD = 50 -- Период длинной скользящей средней QTY = 1 -- Количество лотов -- Переменные short_ma = {} long_ma = {} prices = {} position = 0 -- Текущая позиция: 0 - нет позиции, 1 - лонг, -1 - шорт -- Функция для расчета скользящей средней function calculate_ma(prices, period) local sum = 0 for i = #prices-period+1, #prices do sum = sum + prices[i] end return sum / period end -- Функция для обработки новых тиков function OnAllTrade(alltrade) if alltrade.sec_code == SEC_CODE and alltrade.class_code == CLASS_CODE then table.insert(prices, alltrade.price) if #prices >= LONG_MA_PERIOD then table.
Сделал простенький пример-код как работать с веб сокетами АлгоПака.
Работа в действии выглядит так:
Пример кода<code>namespace OsaEngine.MoexAlgoPack; using System; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Net.WebSockets; public class MoexAlgoPackSocketClient(string url) : IAsyncDisposable { private readonly Uri _uri = new(url); private readonly ClientWebSocket _clientWebSocket = new(); public async ValueTask ConnectAsync(string domain = "DEMO", string login = "guest", string passcode = "guest", CancellationToken cancellationToken = default) { await _clientWebSocket.ConnectAsync(_uri, cancellationToken); await SendAsync($"CONNECT\ndomain:{domain}\nlogin:{login}\npasscode:{passcode}\n\n\0", cancellationToken); } public ValueTask SubscribeAsync(object id, string destination, string selector, CancellationToken cancellationToken = default) { return SendAsync($"SUBSCRIBE\nid:{id}\ndestination:{destination}\nselector:{selector}\n\n\0", cancellationToken); } public async ValueTask SendAsync(string message, CancellationToken cancellationToken = default) { var messageBytes = Encoding.